home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet multimedia / Animacje, filmy i prezentacje / Modelowanie 3D / K-3D 0.6.5.0 / k3d-all-in-one-setup-0.6.5.0.exe / aqsis-setup-1.1.0-2006-12-09.exe / include / aqsis / librib2stream.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-03-03  |  11.2 KB  |  155 lines

  1. #ifndef LIBRIB2STREAM_H
  2. #define LIBRIB2STREAM_H
  3.  
  4. #include "librib.h"
  5. #include <iostream>
  6.  
  7. namespace librib2stream
  8. {
  9.  
  10. /// Implements the librib::RendermanInterface interface, and sends data to a stream (typically, for debugging librib)
  11. class Stream :
  12.             public librib::RendermanInterface
  13. {
  14.     public:
  15.         Stream( std::ostream& Stream );
  16.         virtual ~Stream();
  17.  
  18.         virtual    RtLightHandle RiAreaLightSourceV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  19.         virtual    RtVoid    RiAtmosphereV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  20.         virtual    RtVoid    RiAttributeBegin();
  21.         virtual    RtVoid    RiAttributeEnd();
  22.         virtual    RtVoid    RiAttributeV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  23.         virtual    RtVoid    RiBasis( RtBasis ubasis, RtInt ustep, RtBasis vbasis, RtInt vstep );
  24.         virtual    RtVoid    RiBegin( RtToken name );
  25.         virtual    RtFloat RiBesselFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  26.         virtual    RtVoid    RiBound( RtBound bound );
  27.         virtual    RtFloat RiBoxFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  28.         virtual    RtFloat RiMitchellFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  29.         virtual    RtFloat RiCatmullRomFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  30.         virtual    RtVoid    RiClipping( RtFloat cnear, RtFloat cfar );
  31.         virtual    RtVoid    RiColor( RtColor Cq );
  32.         virtual    RtVoid    RiColorSamples( RtInt N, RtFloat *nRGB, RtFloat *RGBn );
  33.         virtual    RtVoid    RiConcatTransform( RtMatrix transform );
  34.         virtual    RtVoid    RiConeV( RtFloat height, RtFloat radius, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  35.         virtual    RtVoid    RiCoordinateSystem( RtToken space );
  36.         virtual    RtVoid    RiCoordSysTransform( RtToken space );
  37.         virtual    RtVoid    RiCropWindow( RtFloat left, RtFloat right, RtFloat top, RtFloat bottom );
  38.         virtual    RtVoid    RiCylinderV( RtFloat radius, RtFloat zmin, RtFloat zmax, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  39.         virtual    RtToken    RiDeclare( RtString name, RtString declaration );
  40.         virtual    RtVoid    RiDeformationV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  41.         virtual    RtVoid    RiDepthOfField( RtFloat fstop, RtFloat focallength, RtFloat focaldistance );
  42.         virtual    RtVoid    RiDetail( RtBound bound );
  43.         virtual    RtVoid    RiDetailRange( RtFloat offlow, RtFloat onlow, RtFloat onhigh, RtFloat offhigh );
  44.         virtual    RtFloat RiDiskFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  45.         virtual    RtVoid    RiDiskV( RtFloat height, RtFloat radius, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  46.         virtual    RtVoid    RiDisplacementV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  47.         virtual    RtVoid    RiDisplayV( RtToken name, RtToken type, RtToken mode, RtInt count, RtToken tokens[], RtPointer values[] );
  48.         virtual    RtVoid    RiEnd();
  49.         virtual    RtVoid    RiIfBegin(RtString condition);
  50.         virtual    RtVoid    RiIfEnd();
  51.         virtual    RtVoid    RiElse();
  52.         virtual    RtVoid    RiElseIf(RtString condition);
  53.         virtual    RtVoid    RiErrorAbort( RtInt code, RtInt severity, char* message );
  54.         //virtual    RtVoid    RiErrorHandler(RtErrorFunc handler);
  55.         virtual    RtVoid    RiErrorIgnore( RtInt code, RtInt severity, char* message );
  56.         virtual    RtVoid    RiErrorPrint( RtInt code, RtInt severity, char* message );
  57.         virtual    RtVoid    RiExposure( RtFloat gain, RtFloat gamma );
  58.         virtual    RtVoid    RiExteriorV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  59.         virtual    RtVoid    RiFormat( RtInt xresolution, RtInt yresolution, RtFloat pixelaspectratio );
  60.         virtual    RtVoid    RiFrameAspectRatio( RtFloat frameratio );
  61.         virtual    RtVoid    RiFrameBegin( RtInt number );
  62.         virtual    RtVoid    RiFrameEnd();
  63.         virtual    RtFloat RiGaussianFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  64.         virtual    RtVoid    RiGeneralPolygonV( RtInt nloops, RtInt nverts[], RtInt count, RtToken tokens[], RtPointer values[] );
  65.         virtual    RtVoid    RiGeometricApproximation( RtToken type, RtFloat value );
  66.         virtual    RtVoid    RiGeometryV( RtToken type, RtInt count, RtToken tokens[], RtPointer values[] );
  67.         virtual    RtVoid    RiHiderV( RtToken type, RtInt count, RtToken tokens[], RtPointer values[] );
  68.         virtual    RtVoid    RiHyperboloidV( RtPoint point1, RtPoint point2, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  69.         virtual    RtVoid    RiIdentity();
  70.         virtual    RtVoid    RiIlluminate( RtLightHandle light, RtBoolean onoff );
  71.         virtual    RtVoid    RiImagerV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  72.         virtual    RtVoid    RiInteriorV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  73.         virtual    RtLightHandle RiLightSourceV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  74.         virtual    RtVoid    RiMakeBumpV( RtString imagefile, RtString bumpfile, RtToken swrap, RtToken twrap, RtFilterFunc filterfunc, RtFloat swidth, RtFloat twidth, RtInt count, RtToken tokens[], RtPointer values[] );
  75.         virtual    RtVoid    RiMakeCubeFaceEnvironmentV( RtString px, RtString nx, RtString py, RtString ny, RtString pz, RtString nz, RtString reflfile, RtFloat fov, RtFilterFunc filterfunc, RtFloat swidth, RtFloat twidth, RtInt count, RtToken tokens[], RtPointer values[] );
  76.         virtual    RtVoid    RiMakeLatLongEnvironmentV( RtString imagefile, RtString reflfile, RtFilterFunc filterfunc, RtFloat swidth, RtFloat twidth, RtInt count, RtToken tokens[], RtPointer values[] );
  77.         virtual    RtVoid    RiMakeShadowV( RtString picfile, RtString shadowfile, RtInt count, RtToken tokens[], RtPointer values[] );
  78.         virtual    RtVoid    RiMakeTextureV( RtString imagefile, RtString texturefile, RtToken swrap, RtToken twrap, RtFilterFunc filterfunc, RtFloat swidth, RtFloat twidth, RtInt count, RtToken tokens[], RtPointer values[] );
  79.         virtual    RtVoid    RiMakeOcclusionV( RtInt piccount, RtString *picfile, RtString shadowfile, RtInt count, RtToken tokens[], RtPointer values[] );
  80.         virtual    RtVoid    RiMatte( RtBoolean onoff );
  81.         virtual    RtVoid    RiMotionBeginV( RtInt N, RtFloat times[] );
  82.         virtual    RtVoid    RiMotionEnd();
  83.         virtual    RtVoid    RiNuPatchV( RtInt nu, RtInt uorder, RtFloat uknot[], RtFloat umin, RtFloat umax, RtInt nv, RtInt vorder, RtFloat vknot[], RtFloat vmin, RtFloat vmax, RtInt count, RtToken tokens[], RtPointer values[] );
  84.         virtual    RtObjectHandle    RiObjectBegin();
  85.         virtual    RtVoid    RiObjectEnd();
  86.         virtual    RtVoid    RiObjectInstance( RtObjectHandle handle );
  87.         virtual    RtVoid    RiOpacity( RtColor Os );
  88.         virtual    RtVoid    RiOptionV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  89.         virtual    RtVoid    RiOrientation( RtToken orientation );
  90.         virtual    RtVoid    RiParaboloidV( RtFloat rmax, RtFloat zmin, RtFloat zmax, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  91.         virtual    RtVoid    RiPatchMeshV( RtToken type, RtInt nu, RtToken uwrap, RtInt nv, RtToken vwrap, RtInt count, RtToken tokens[], RtPointer values[] );
  92.         virtual    RtVoid    RiPatchV( RtToken type, RtInt count, RtToken tokens[], RtPointer values[] );
  93.         virtual    RtVoid    RiPerspective( RtFloat fov );
  94.         virtual    RtVoid    RiPixelFilter( RtFilterFunc function, RtFloat xwidth, RtFloat ywidth );
  95.         virtual    RtVoid    RiPixelSamples( RtFloat xsamples, RtFloat ysamples );
  96.         virtual    RtVoid    RiPixelVariance( RtFloat variance );
  97.         virtual    RtVoid    RiCurvesV( RtToken type, RtInt ncurves, RtInt nvertices[], RtToken wrap, RtInt n, RtToken tokens[], RtPointer values[] );
  98.         virtual    RtVoid    RiPointsV( RtInt vertices, RtInt count, RtToken tokens[], RtPointer values[] );
  99.         virtual    RtVoid    RiPointsGeneralPolygonsV( RtInt npolys, RtInt nloops[], RtInt nverts[], RtInt verts[], RtInt count, RtToken tokens[], RtPointer values[] );
  100.         virtual    RtVoid    RiPointsPolygonsV( RtInt npolys, RtInt nverts[], RtInt verts[], RtInt count, RtToken tokens[], RtPointer values[] );
  101.         virtual    RtVoid    RiPolygonV( RtInt nvertices, RtInt count, RtToken tokens[], RtPointer values[] );
  102.         virtual RtVoid    RiBlobbyV( RtInt nleaf, RtInt ncode, RtInt code[], RtInt nflt, RtFloat flt[], RtInt nstr, RtToken str[], RtInt count, RtToken tokens[], RtPointer values[] );
  103.         virtual    RtVoid    RiProcedural( RtPointer data, RtBound bound, RtFunc refineproc, RtFunc freeproc );
  104.         virtual    RtVoid    RiProjectionV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  105.         virtual    RtVoid    RiQuantize( RtToken type, RtInt one, RtInt min, RtInt max, RtFloat ditheramplitude );
  106.         virtual    RtVoid    RiReadArchive( RtToken data, RtArchiveCallback callback );
  107.         virtual    RtVoid    RiRelativeDetail( RtFloat relativedetail );
  108.         virtual    RtVoid    RiReverseOrientation();
  109.         virtual    RtVoid    RiRotate( RtFloat angle, RtFloat dx, RtFloat dy, RtFloat dz );
  110.         virtual    RtVoid    RiScale( RtFloat sx, RtFloat sy, RtFloat sz );
  111.         virtual    RtVoid    RiScreenWindow( RtFloat left, RtFloat right, RtFloat bottom, RtFloat top );
  112.         virtual    RtVoid    RiShadingInterpolation( RtToken type );
  113.         virtual    RtVoid    RiShadingRate( RtFloat size );
  114.         virtual    RtVoid    RiShutter( RtFloat opentime, RtFloat closetime );
  115.         virtual    RtVoid    RiSides( RtInt nsides );
  116.         virtual    RtFloat RiSincFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  117.         virtual    RtVoid    RiSkew( RtFloat angle, RtFloat dx1, RtFloat dy1, RtFloat dz1, RtFloat dx2, RtFloat dy2, RtFloat dz2 );
  118.         virtual    RtVoid    RiSolidBegin( RtToken type );
  119.         virtual    RtVoid    RiSolidEnd();
  120.         virtual    RtVoid    RiSphereV( RtFloat radius, RtFloat zmin, RtFloat zmax, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  121.         virtual    RtVoid    RiSubdivisionMeshV( RtToken scheme, RtInt nfaces, RtInt nvertices[], RtInt vertices[], RtInt ntags, RtToken tags[], RtInt nargs[], RtInt intargs[], RtFloat floatargs[], RtInt count, RtToken tokens[], RtPointer values[] );
  122.         virtual    RtVoid    RiSurfaceV( RtToken name, RtInt count, RtToken tokens[], RtPointer values[] );
  123.         virtual    RtVoid    RiTextureCoordinates( RtFloat s1, RtFloat t1, RtFloat s2, RtFloat t2, RtFloat s3, RtFloat t3, RtFloat s4, RtFloat t4 );
  124.         virtual    RtVoid    RiTorusV( RtFloat majorrad, RtFloat minorrad, RtFloat phimin, RtFloat phimax, RtFloat thetamax, RtInt count, RtToken tokens[], RtPointer values[] );
  125.         virtual    RtVoid    RiTransform( RtMatrix transform );
  126.         virtual    RtVoid    RiTransformBegin();
  127.         virtual    RtVoid    RiTransformEnd();
  128.         virtual    RtPoint* RiTransformPoints( RtToken fromspace, RtToken tospace, RtInt npoints, RtPoint points[] );
  129.         virtual    RtVoid    RiTranslate( RtFloat dx, RtFloat dy, RtFloat dz );
  130.         virtual    RtFloat RiTriangleFilter( RtFloat x, RtFloat y, RtFloat xwidth, RtFloat ywidth );
  131.         virtual    RtVoid    RiTrimCurve( RtInt nloops, RtInt ncurves[], RtInt order[], RtFloat knot[], RtFloat min[], RtFloat max[], RtInt n[], RtFloat u[], RtFloat v[], RtFloat w[] );
  132.         virtual    RtVoid    RiWorldBegin();
  133.         virtual    RtVoid    RiWorldEnd();
  134.         virtual RtVoid    RiShaderLayerV( RtToken type, RtToken name, RtToken layername, RtInt count, RtToken tokens[], RtPointer values[] );
  135.         virtual RtVoid    RiConnectShaderLayers( RtToken type, RtToken layer1, RtToken variable1, RtToken layer2, RtToken variable2 );
  136.  
  137.         virtual RtFilterFunc    GetFilterFunction( RtToken type );
  138.         virtual RtBasis*    GetBasisMatrix( RtToken type );
  139.         virtual    RtFunc    GetProceduralFunction( RtToken type );
  140.  
  141.     private:
  142.         std::ostream& m_Stream;
  143.         unsigned int m_CurrentLightHandle;
  144. };
  145. extern "C"
  146. {
  147.     librib::RendermanInterface* CreateRIBEngine();
  148.     void DestroyRIBEngine( librib::RendermanInterface* );
  149. }
  150.  
  151. }
  152. ; // namespace librib2stream
  153.  
  154. #endif // LIBRIB2STREAM
  155.